package com.zmn.oms.common.dio.normal.master;

import com.zmn.oms.common.constant.OrderConsts;
import com.zmn.oms.common.constant.OrderTimeTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 类描述：工程师工单数量查询
 *
 * @author liuying
 * @date 2021/12/22 18:45
 */
@Data
public class MasterWorkCountDIO implements Serializable {

    private static final long serialVersionUID = -9119947528916105615L;

    /**
     * 订单类型
     * @see OrderConsts#ORDER_TYPE_NEW
     */
    @ApiModelProperty(value = "订单类型，不传默认查询新单和返修单")
    @Size(min = 1, max = 4, message = "数组长度不能超过4")
    private List<Integer> orderTypeList;

    @ApiModelProperty(value = "工程师id列表")
    @NotNull(message = "工程师ID列表不能为空")
    @Size(min = 1, max = 500, message = "数组长度不能超过500")
    private List<Integer> masterIdList;

    @ApiModelProperty(value = "时间类型")
    @NotNull(message = "时间类型不能为空")
    private OrderTimeTypeEnum timeType;

    @ApiModelProperty(value = "开始时间")
    @NotNull(message = "开始时间不能为空")
    private Date startTime;

    @ApiModelProperty(value = "结束时间")
    @NotNull(message = "结束时间不能为空")
    private Date endTime;
}
